home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 21 / CU Amiga Magazine's Super CD-ROM 21 (1998)(EMAP Images)(GB)[!][issue 1998-04].iso / CUCD / Programming / AsyncIO / src / RecordAsyncFailure.c < prev    next >
C/C++ Source or Header  |  1997-08-29  |  678b  |  25 lines

  1. #include "async.h"
  2.  
  3.  
  4. /* this function records a failure from a synchronous DOS call into the
  5.  * packet so that it gets picked up by the other IO routines in this module
  6.  */
  7. VOID
  8. AS_RecordSyncFailure( AsyncFile *file )
  9. {
  10. #ifdef ASIO_NOEXTERNALS
  11.     struct DosLibrary    *DOSBase = file->af_DOSBase;
  12. #endif
  13.  
  14.     /* MH: Back up some values to make it possible to resume operation
  15.      * after seeks past EOF.
  16.      */
  17.     file->af_LastRes1 = file->af_Packet.sp_Pkt.dp_Res1;
  18.     file->af_LastBytesLeft = file->af_BytesLeft;
  19.  
  20.     file->af_Packet.sp_Pkt.dp_Res1    = -1;
  21.     file->af_Packet.sp_Pkt.dp_Res2    = IoErr();
  22.     /* MH: To make sure we can't read/write despite an error condition */
  23.     file->af_BytesLeft = 0;
  24. }
  25.